978G - Petya's Exams - CodeForces Solution


greedy implementation sortings *1700

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
#define el '\n'
#define int long long
using namespace std;
struct st
{
    int s,d,c,j;
};
bool comp(st one, st two)
{
    return one.d<two.d;
}
int n,m;
int ans[105];
void sol()
{
    cin>>n>>m;
    st a[m];
    for(int i=0;i<m;i++) {
        cin>>a[i].s>>a[i].d>>a[i].c;
        a[i].j=i+1;
        ans[a[i].d]=m+1;
    }
    sort(a,a+m,comp);
    //for(int i=0;i<m;i++) cout<<a[i].s<<' '<<a[i].d<<' '<<a[i].c<<' '<<a[i].j<<el;
    for(int i=0;i<m;i++) {
        int dem=0;
        for(int g=a[i].s;g<a[i].d;g++) {
            if(ans[g]==0) {
                ans[g]=a[i].j;
                dem++;
                if(dem==a[i].c) break;
            }
        }
        if(dem<a[i].c) {
            cout<<-1;
            return ;
        }
    }
    for(int i=1;i<=n;i++) cout<<ans[i]<<' ';
}
signed main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    /*int t; cin>>t;
    while(t--)*/ sol();
    return 0;
}
/*
██████╗░██╗░░██╗███╗░░░███╗██████╗░██╗░░░██╗░█████╗░░█████╗░████████╗██╗███╗░░██╗
██╔══██╗██║░░██║████╗░████║██╔══██╗██║░░░██║██╔══██╗██╔══██╗╚══██╔══╝██║████╗░██║
██████╔╝███████║██╔████╔██║██║░░██║██║░░░██║██║░░╚═╝██║░░╚═╝░░░██║░░░██║██╔██╗██║
██╔═══╝░██╔══██║██║╚██╔╝██║██║░░██║██║░░░██║██║░░██╗██║░░██╗░░░██║░░░██║██║╚████║
██║░░░░░██║░░██║██║░╚═╝░██║██████╔╝╚██████╔╝╚█████╔╝╚█████╔╝░░░██║░░░██║██║░╚███║
╚═╝░░░░░╚═╝░░╚═╝╚═╝░░░░░╚═╝╚═════╝░░╚═════╝░░╚════╝░░╚════╝░░░░╚═╝░░░╚═╝╚═╝░░╚══╝
*/


Comments

Submit
0 Comments
More Questions

981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest
1494A - ABC String
1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition